package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 区域管理对象 sys_district_scope
 * 
 * @author ruoyi
 * @date 2022-08-08
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sys_district_scope")
public class SysDistrictScope implements Serializable {

//private static final long serialVersionUID=1L;


    /** 区划代码 */
    @TableId(value = "id")
    private String id;

    /** 名称 */
    private String name;

    /** 父级区划代码 */
    private String parentId;

    /** 父级区划名称 */
    private String parentName;

    /** 省/直辖市代码 */
    private Long provinceCode;

    /** 市代码 */
    private Long cityCode;

    /** 区/县代码 */
    private Long areaCode;

    /** 街道/镇代码 */
    private Long streetCode;

    /** 社区/乡村代码 */
    private Long committeeCode;

    /** 网格代码 */
    private Long gridCode;

    /** 城乡分类代码 */
    private Long committeeType;

    /** 排序 */
    private Long sort;

    /** 是否有空间数据 */
    private String hasGeom;

    /** 中心点经度 */
    private BigDecimal lng;

    /** 中心点纬度 */
    private BigDecimal lat;

    /** 空间数据 */
    private String theGeom;

    /** 级别: 1-省/直辖市, 2-市, 3-区/县/地级市, 4-街道/镇, 5-社区/乡村 */
    private Long level;

    /** 是否激活 */
    private String activation;

    /** 创建者 */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @TableField(exist = false)
    private List<SysDistrictScope> children = new ArrayList<SysDistrictScope>();

}
